1. Field of the Invention
The invention relates to a transmission system comprising a coder for coding a signal, and a transmitter for transmitting the coded signal to a receiver, which includes a decoder for decoding the coded signal, and an adaptive prediction filter.
The invention likewise relates to a terminal unit, a coder, a decoder and an adaptive prediction filter.
2. Description of the Related Art
Such a transmission system can be obtained, for example, without difficulty from the document "Draft text for Annex A 16 k/bits of G.728 Fixel Point Specification" Temporary Document 41(P), CCIT Study Group 15, Geneva, Sept. 7-17, 1993, which corresponds to no longer available Doc. AH. 93-D.3, CCITT Study Group XV, London, Mar. 29-30, 1993, and from CCITT Recommendation G.728, "Coding of speech signals at 16 kbit/s using low-delay code excited linear prediction," Geneva, 1992. The first two documents will henceforth be referenced [I] and [II]. Such transmission systems can be used to provide multiple use of a given transmission capacity. The reduction of the bit rate of a signal 64 coding makes it possible, for example, to hold four 16 k/bits telephone conversations simultaneously over one 64 kbit/s transmission channel.
The multiple use of a given transmission capacity has very much importance in radio channels, as will be readily understood if one considers of the rising number of subscribers of mobile radio systems. Also the storage capacity of a memory with an arbitrary storage medium can be used to considerably more advantage when bit rate reducing coders and appropriate decoders are used, because less storage space is necessary for storing an information signal.
It is known to utilize linear prediction for bit rate reduction. In [I] and [II] prediction coefficients are computed by an adaptive prediction filter. The computation is performed segment by segment using sample values of an auxiliary signal which may be an (electric) audio signal or speech signal, for example, coming from a person. Alternatively, it is possible for the auxiliary signal to be a synthetic audio or speech signal as produced in a coder which operates according to the principle of "analysis by synthesis". A linear correlation between a predicted sampling value (prediction value) of the auxiliary signal and previous sampling values of this signal is realised with the prediction coefficients. The prediction coefficients are determined so that the sum of the squares of all the errors computed for a segment of sampling values assumes a minimum value. An error is here meant to be understood as the difference between a sampling value and its predicted value. More accurate descriptions will be given hereinbelow.
In [I] and [II] an excited signal is converted into a synthetic audio signal by a synthesis filter. This synthetic audio signal is subtracted from an audio signal to be coded and the difference is used for optimizing the selection of the excited signal.
The computation of the prediction coefficients calls for correlation coefficients which are derived from the sampling values of the synthetic audio signal. The computation of the prediction coefficients on the basis of the correlation coefficients calls for much circuitry and cost. To reduce this circuitry and cost the prediction coefficients are computed recursively. To begin with, a first reflection coefficient is computed from the two first correlation coefficients. From the first reflection coefficient the first prediction coefficient is derived. Furthermore, also a prediction error is computed, which is an indication of the quality of the prediction. Then, a second reflection coefficient is computer from the next correlation coefficient, the previously computed prediction coefficient and the current prediction error. With the second reflection coefficient and the previously computed prediction coefficients (at this point only the first prediction coefficient is concerned) the previously computed prediction coefficients are recomputed. Then, a second prediction coefficient and a new prediction error are computed. The recomputation of the previously computed prediction coefficients and the computation of a further prediction coefficient is repeated as many times as necessary to derive all the necessary prediction coefficients.
In [II] an implementation in floating point arithmetic is proposed for obtaining sufficient accuracy. The drawback of an implementation in floating point arithmetic is the extensive circuitry. For this reason, in [I] there is proposed to implement 16-bit fixed point arithmetic in which results and intermediate results of the computation are retained in the so-called block floating point format. This is meant to be understood as the representation of a 6lock of numbers in floating point format, with the restriction, however, that all the numbers of the block have the same exponent (with base 2). The common exponent is selected such that all the mantissas are situated within prescribed limits. In [I] there is provided that all the mantissas are situated between -1 and +1. In the block floating point format, for example, the prediction coefficients are shown which, from previous experience, assume values that may be on the order of 10. If, for example, overflow occurs when the prediction coefficients are recomputed i.e. a recomputed prediction coefficient will be 1 or exceed 1, the mantissas of all the previously computed prediction coefficients will be divided by 2 and the common exponent (with base 2) will be increased by 1. Then the recomputation is started anew. The change of the block floating point format due to overflow will here be called an adaptation of the block floating point format. For the repeated recomputation only the mantissas of the previously computed prediction coefficients are used, and only with 16-bit resolution. The reduction of the resolution from at least 17 bits to 16 bits which is sometimes necessary for the computation can be effected in different manners. The manner of reduction according to [I] will be outlined with the aid of an example. If, for example, the third reflection coefficient has just been computed with a resolution of 17 bits--between the third reflection coefficient and the third prediction coefficient to be derived therefrom there is only a difference in the numerical representation--it is shortened by a rounding to 16 bits, so that the two first prediction coefficients can be recomputed therewith in 16-bit fixed point arithmetic. If there is an overflow during this recomputation, also the rounded third reflection coefficient is, for example, divided by two when recomputation has ended, and the result which has a resolution of 16 bits is stored as a mantissa of the third prediction coefficient. The division is broken off after 16 bits (including the sign bit). Due to the binary system this operation corresponds to a shift of the decimal point by one position while the least-significant bit is lost. This procedure causes the inaccuracies--especially with a large number of prediction coefficients--to become unacceptably large.